perm filename DIV2.IL[TIM,LSP]1 blob sn#679558 filedate 1982-09-23 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	 Dividing by 2 using lists of n ()'s
C00004 ENDMK
CāŠ—;
;;; Dividing by 2 using lists of n ()'s
(DECLARE (LOCALVARS . T)(GLOBALVARS L))

(DEFINEQ
 (CREATE-N (LAMBDA (N)
		   (for I from 1 to N collect ())))

 (DIV2 (LAMBDA (L)
	       (for L in L by (CDDR L) collect (CAR L))))

 (DV2
  (LAMBDA (L)
	  (COND ((NULL L) ())
		(T (CONS (CAR L) (DV2 (CDDR L)))))))

 (TEST1 
  (LAMBDA (L)
	  (for I from 1 to 300 do
	       (DIV2 L)
	       (DIV2 L)
	       (DIV2 L)
	       (DIV2 L))))

 (TEST2 
  (LAMBDA (L)
	  (for I from 1 to 300 do
	       (DV2 L)
	       (DV2 L)
	       (DV2 L)
	       (DV2 L))))
)

(RPAQ L (CREATE-N 200.))

(* Here is what to time:
	  (test1 l)
	  (test2 l))